package com.jshcbd.modules.asset.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jshcbd.modules.asset.dto.InventoryItemDto;
import com.jshcbd.modules.asset.entity.InventoryEntity;
import com.jshcbd.modules.asset.entity.InventoryItemEntity;
import com.jshcbd.modules.asset.vo.InventoryItemVo;
import com.jshcbd.modules.asset.vo.InventoryProgressVo;
import com.jshcbd.modules.asset.vo.InventoryVo;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * @author zhoucd
 * @date
 * @description
 */

@Service
public interface IInventoryService extends IService<InventoryEntity>  {


    IPage<InventoryVo> pageView(Page<InventoryVo> page, QueryWrapper<InventoryVo> queryWrapper);


    void doSave(InventoryEntity entity);


    InventoryItemEntity getItemById(String id);

    IPage<InventoryItemVo> itemPageView(Page<InventoryItemVo> page, QueryWrapper<InventoryItemVo> queryWrapper);

    List<InventoryItemVo> itemView(QueryWrapper<InventoryItemVo> queryWrapper);


    void  updateAssetItemState(InventoryItemDto dto);


    InventoryProgressVo getProgress(String mainId);

    void doInventoryEnd(String id);

    InventoryItemVo doInventory(String mainId,String addressId,String  rfid);

    void updateItem(InventoryItemEntity entity);
}
